package cn.demoncat.util.lang;

/**
 * 数学计算工具
 * 
 * @author 延晓磊
 *
 * @since 2017年11月14日
 */
public final class MathUtil {

	/**
	 * 除：有余数时进1
	 * 
	 * @param x
	 * @param y
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2017年11月14日
	 */
	public static int ceilDiv(int x, int y) {
		if (x % y > 0) {
			return x / y + 1;
		} else {
			return x / y;
		}
	}
	
	/**
	 * 除：有余数时进1
	 * 
	 * @param x
	 * @param y
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2017年11月14日
	 */
	public static long ceilDiv(long x, long y) {
		if (x % y > 0) {
			return x / y + 1;
		} else {
			return x / y;
		}
	}
	
	/**
	 * 除：有余数时进1
	 * 
	 * @param x
	 * @param y
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2017年11月14日
	 */
	public static long ceilDiv(long x, int y) {
		if (x % y > 0) {
			return x / y + 1;
		} else {
			return x / y;
		}
	}
	
	/**
	 * 除：有余数时进1
	 * 
	 * @param x
	 * @param y
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2017年11月14日
	 */
	public static long ceilDiv(int x, long y) {
		if (x % y > 0) {
			return x / y + 1;
		} else {
			return x / y;
		}
	}
}
